<?php
/**
 * Copyright (C), 2021-2021, Shall Buy Life info. Co., Ltd.
 * FileName: EcConstant.php
 * Description: 说明
 *
 * @author lwl
 * @Create Date    2021/12/20 10:23
 * @Update Date    2021/12/20 10:23 By lwl
 * @version v1.0
 */

namespace Example\Constants;

interface OrderConstant
{
    const STATUS_CREATE_ING = 0;//创建中
    const STATUS_MANUAL_CLOSE = -10;//订单关闭 手动
//    const STATUS_TIME_OUT_CLOSE = -20;//订单关闭 系统自动
    const STATUS_WAIT_PAY = 10;//待支付
    const STATUS_PAY_ING = 15;//支付中
    const STATUS_PAYED = 20;//支付成功
    const STATUS_DELIVER_ING = 25;//发货中
    const STATUS_DELIVER_All = 30;//发货完成
    const STATUS_SETTLE = 40;//结算完成
    const STATUS_FINISH = 50;//交易完成

    /**
     * FunctionName：store
     * Description：创建订单
     * Author：lwl
     * @param array $params
     * @return mixed
     */
    public function try(array $params):array;

    /**
     * FunctionName：waitPayStatus
     * Description：待支付
     * Author：lwl
     * @param string $orderSn 订单号
     * @return mixed
     */
    public function confirm(string $orderSn):array;


    /**
     * FunctionName：cllBack
     * Description：支付回调
     * Author：lwl
     * @param array $params
     * @return mixed
     */
    public function callBack(array $params):array;


    /**
     * FunctionName：cancel
     * Description：取消
     * Author：lwl
     * @return mixed
     */
    public function cancel(string $orderSn):array;


    /**
     * FunctionName：settle
     * Description：发起订单结算
     * Author：lwl
     * @param array $params
     * @return mixed
     */
    public function settle(array $params):array;

    /**
     * FunctionName：settleCallBack
     * Description：订单结算回调
     * Author：lwl
     * @param array $params
     * @return mixed
     */
    public function settleCallBack(array $params):array;

}
